package cn.gson.springboot.model.mapper;


import java.util.Date;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.alibaba.fastjson.JSONArray;
import cn.gson.springboot.model.pojos.User;
import cn.gson.springboot.model.vo.FunctionVo;
import cn.gson.springboot.model.vo.FunctionVoo;
import cn.gson.springboot.model.vo.Rolevo;

@Mapper
/*1*/
public interface UserMapper {
	

	//查询科室（初始化下拉列表）
	public JSONArray selectUserSectionAll();
	//住院登记时，从门诊过来，根据科室ID查询 
	public JSONArray selectzhsectionid(@Param("sname")String sname);
	//查询用户表中医生，用于初始化医生的下拉列表
	public JSONArray selectUserDoctorAll(@Param("sid")Integer sid);
	//护士
	public JSONArray selectUserNurseAll(@Param("sid")Integer sid);
	//根据安排的时间来查询在上班的医生
	public JSONArray selectopsanarrdoctor(@Param("daytime")Date daytime,
			@Param("starttime")String starttime,@Param("endtime")String endtime,
			@Param("sectionid")Integer sectionid);
	

	/*查询用户*/
	public JSONArray findUsers(@Param("user_name") String user_name);
	
	/*查找某个用户下个所有角色*/
	public JSONArray seclctAllrole(Integer uid);
	
	/*删除用户角色*/
	public void deleteuserRole(@Param("userId")Integer userId);
	
	public JSONArray dengluquanxian(Integer userId);

	 /*查找某个用户所拥有的功能权限 */
		public List<FunctionVoo> seclctAllfunction(@Param("userid")Integer userid);

	
	public List<Rolevo> userroleList(@Param("userId")Integer userId);
	
	
	
  //新增用户
	public void adduser(@Param("section_id")int section_id,
			@Param("userName")String userName,
			@Param("userPwd")String userPwd,
			@Param("userSex")String userSex,
			@Param("userCard")String userCard,
			@Param("userTel")String userTel,
			@Param("userAddress")String userAddress,
			@Param("userState")String userState);
	
	
	//取出最新用户的ID
	public JSONArray selectlimituser();
	
	//新增用户添加角色
	public void adduserrole(@Param("userId")Integer userId,@Param("roleId")int roleId);
	
	//新增用户添加角色删除重复角色
	public void deleteadduserrole(@Param("userId")Integer userId,@Param("roleId")int roleId);
	
	//已有用户新增角色
	public void adduserrole11(@Param("userId")Integer userId,@Param("roleId")int roleId);
		
	//根据id查询
	public User findUsersbyid(Integer uid);
	
	/*修改在职状态*/
	 public void updatestatre(@Param("user_id")Integer userId,@Param("userstate") String user_state);
	


	 /*修改密码*/
	 public void updatepwd(@Param("user_id")Integer userId,@Param("user_pwd") String userPwd);
	 
	//根据ID和原密码查询
	 public User findUserspwd(@Param("user_id")Integer userId,@Param("user_pwd") String userPwd);
		
	//用户查看详情
	 public JSONArray findUsersdetails(Integer uid);
	 
	 //根据医生名字查id
	 public User selectByname(@Param("uname")String uname);
}
